Dolzhenkov_Mikhail

2,3K

подписчиков

11

подписок

Algonomics https://t.me/mdftrade - мой канал. 1️⃣ Инвестирую с 2020 года; 2️⃣ Автор стратегии в Т-Банке с 2024; 3️⃣ Магистр финансов и оценки бизнеса; 4️⃣ Занимаюсь созданием и тестированием торговых алгоритмов, периодически пишу интересное об этом.

Не является индивидуальной инвестиционной рекомендацией

Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

вчера в 18:00

🩺 Стратегия умерла. Отчего — на глаз не скажешь. Когда система ломается, причину обычно называют на слух: «край был тонкий», «подогнали», «бэктест врал». Звучит убедительно, но это версии, а не диагноз. Диагноз ставит замер — и часто не тот, что напрашивался. Мой случай: канальный пробой на 15 минутах на фьючерсе природного газа $NGV6 . Несколько лет ровный рост, потом слом с просадкой около 51 %, дно не пройдено. Версий на глаз было три: тонкий край, подгонка под календарь, склейка контрактов. Я собрал систему в своём тестере и проверил каждую. Ни одна не подтвердилась. 📏 «Фактор прибыли 1,2 — край тонкий» PF считают в деньгах: сумма прибылей делить на сумму убытков. Если ставка — процент от капитала, поздние сделки весят в разы больше ранних, и PF отвечает на вопрос, куда попал сложный процент, а не есть ли край. Одни и те же сигналы: на 150 % капитала PF 1,20 и просадка 51 %, на одном контракте PF 1,66 и просадка 6,5 %. Край меряют на фиксированном объёме, раскладку на счёт — отдельным прогоном. 🧩 «Склейка нарисовала прибыль» 79 стыков за шесть лет, медиана скачка на переезде 4,6 % цены, худший — 46 %. Звучит страшно. Но когда я вычел фантом стыка из каждой сделки, он оказался около 15 тыс ₽ из 411 тыс — меньше 4 %, и со знаком минус: склейка систему слегка обирала, а не кормила. Календарные костыли в коде дали около 5 % результата. Издержки: плачу примерно 16 ₽ на сторону (полспреда в 3 шага плюс сбор), а край на последних трёх годах выдерживает около 38 ₽. Тоже не они. 🔬 «Тогда что?» PF раскладывается на две величины: PF = p / (1 − p) × W / L p — доля выигрышей, W и L — средний выигрыш и средний убыток. 2020–2023 против 2024–2026, один контракт: — PF 1,87 → 1,36 — W/L 2,02 → 1,83 — p 48,0 % → 42,6 %, а в 2026 году 38,1 % Средний выигрыш ужался на 36 %, средний убыток — на 29 %: у газа упал размах движений. Геометрия сделки почти та же. Изменилось одно — система реже угадывает. Для пробоя это значит: ложных пробоев стало больше, тренд сменился пилой. Проверка: 0,48 / 0,52 × 2,02 = 1,87 и 0,426 / 0,574 × 1,83 = 1,36. Сходится. 💊 «Значит, отфильтровать ложные пробои» Пробовал. Восемь правок входа и горизонта — отступ от кромки, подтверждение закрытием, ретест, часовые бары, стоп по времени, скользящая переоптимизация. Выбирал на 2020–2023, проверял на 2024–2026. Ни одна не лучше исходника. Показательнее всех подтверждение двумя закрытиями: доля выигрышей 37 → 42 %, а W/L 1,94 → 1,53, итог хуже (тут счёт с издержками, поэтому база ниже). Ложный пробой отсеивается, но и настоящий берётся позже — за один множитель PF платишь другим. 💡 В сухом остатке Убил не спред и не склейка. Убила упавшая доля удачных пробоев при прежней ставке: средняя сделка ужалась втрое (236 → 77 ₽), а размер остался 150 % капитала и рос вместе со счётом. На фиксированном объёме те же сигналы дали бы просадку 6,5 % вместо 51 %. Падение PF не пересказывают словами, пока не разложили его на p и W/L. «Реже угадываю», «больше теряю на убытке», «меньше беру с прибыли» дают одинаковое падение и лечатся по-разному. Здесь первое, а на слух звучало второе. Стратегия похоронена. Но вскрытие полезнее похорон. #трейдинг #пульс_оцени
Card image 1
1
2
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

4 октября в 16:01

📉 1000 сделок в бэктесте — это 1000 независимых ставок? Чаще всего нет. Спор о бэктесте обычно идёт про то, хороша ли кривая. Сначала надо спросить другое: сколько в ней НЕЗАВИСИМЫХ наблюдений. От этого числа зависит, насколько кривой вообще можно верить, — и оно почти всегда меньше числа строк в журнале. 🧮 «У меня тысяча сделок, выборка огромная» Строка журнала — не ставка. Десять входов в одну сторону на одном движении — это одна идея, сыгранная десять раз. Лестница, которая докупает поверх стоящей позиции, — одна ставка, нарезанная на куски. В одной такой системе на фьючерс $MMZ6 я насчитал 84 % входов, открытых поверх уже стоящей позиции. Сколько ставок на самом деле, считает поправка на кластеры: N_eff = N / (1 + (m − 1)·ρ) N — строк в журнале, m — средний размер «пачки» сделок на одной идее, ρ — корреляция результатов внутри пачки. Если пачек нет, а результаты цепляются друг за друга во времени, та же идея через автокорреляцию: N_eff = N / (1 + 2·Σρₖ) Пример: 1000 сделок, пачки по 10, ρ = 0,5. Знаменатель 5,5, N_eff ≈ 180. Значимость стоит на корне из N: t-статистика 4,0, посчитанная по строкам, превращается в 1,7 по ставкам. Было «точно не случайность», стало «может быть». 🔍 «Profit Factor 2,5 — я гений» Слишком хороший результат на малом числе независимых ставок — сначала повод искать ошибку, потом хвалить систему. Три частые причины: — заглядывание вперёд: решение принято по цене закрытия бара, а исполнено по открытию того же бара; — псевдорепликация: одна идея посчитана как десять сделок, см. выше; — утечка из будущего через данные: склейка фьючерсов, пересчитанная назад, или параметры, подобранные на всём ряду. Две проверки, которые ловят это механически. Сдвиньте исполнение на один бар позже: честный край слабеет плавно, а заглядывание обваливается в ноль. Прогоните систему на перемешанных доходностях того же инструмента: там она обязана дать ноль минус издержки. Если зарабатывает — ошибка в коде. 📈 «Walk-forward прошёл — система устойчива» Скользящая проверка честна в одном: каждый кусок проверки лежит после своего окна подбора. Но окна подбора соседних шагов почти целиком совпадают. Подбор на 12 месяцах со сдвигом на месяц — соседние окна общие на 11/12. За 10 лет истории это 108 переоптимизаций, а непересекающихся окон подбора среди них 9. Параметры, выбранные на соседних шагах, — почти одно и то же решение, а не 108 независимых подтверждений. Как пересечение подделывает вывод, я видел на своём замере. Проверял, сохраняется ли порядок вариантов параметра от окна к окну. Полное окно против собственной второй половины дало ранговую корреляцию 0,97 — «порядок переносится». Две непересекающиеся половины того же ряда — 0,20: не переносится. Прибор тот же, вердикты противоположные, разница целиком в пересечении. Склеенная кривая проверки превращается в коллаж из одних и тех же лет, только если шаг меньше окна проверки — тогда один день попадает в неё несколько раз. В обычной схеме этого нет, и обвинять её в этом не нужно. ⚠️ Оговорка, без которой пост будет враньём Поправка на кластеры требует знать ρ, а её оценка по тем же данным тоже шумит. Число N_eff — порядок величины, а не точный ответ: 150 или 250, но точно не 1000. 0,97 и 0,20 сняты на одной системе и одном инструменте; на другом ряду цифры будут другими, направление — то же. И главная дыра скользящей проверки — не пересечение, а выбор её самой. Длину окна, шаг и критерий подбора тоже выбирают, обычно после нескольких попыток. Перепробовали пять схем и показали лучшую — склеенная кривая снова стала подгонкой. 💡 В сухом остатке Считайте ставки, а не строки: N_eff, а не длину журнала. Слишком хороший результат на малом N_eff — сначала сдвиг на бар и перемешанный ряд, потом радость. Walk-forward описывает, как система меняет параметры во времени. Доказательством устойчивости служат непересекающиеся окна и отложенный кусок истории, который ни разу не участвовал ни в подборе, ни в выборе схемы проверки. #трейдинг #пульс_оцени #пульс
Card image 1
1
2
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

3 октября в 22:07

📊 Пять стратегий в терминале — это пять ставок? Посчитайте Спор о диверсификации обычно идёт про число: сколько систем, сколько инструментов, сколько таймфреймов. Число ничего не говорит. Пять систем, которые зарабатывают и теряют в одни и те же дни, — это одна ставка на рынок, размазанная по пяти окнам. 🧮 «У меня пять разных логик» Сколько ставок на самом деле, считает формула эффективного числа: N_eff = N / (1 + (N − 1)·ρ‌) N — число систем, ρ‌ — средняя попарная корреляция их дневных результатов. При ρ‌ = 0 выходит N, при ρ‌ = 1 — ровно одна ставка, сколько систем ни добавляй. Пример: пять систем, ρ‌ = 0,6. Знаменатель 1 + 4·0,6 = 3,4, N_eff ≈ 1,5. Полторы ставки вместо пяти. Формула стоит на двух допущениях: веса равные и волатильность систем сопоставима. Если одна система несёт половину риска, считать надо по весам риска, иначе N_eff выйдет завышенным. 🔬 «А как это выглядит на живых системах» Мой замер: четыре системы, одна на индекс, три на рубль — через доллар и юань. Некоторые из них есть в &Алго-Ритм и &Трендовый спекулянт (Futures) Корреляции считал по дням, интервалы — блочным бутстрапом. Индекс с валютными системами: ρ от −0,05 до 0,03, неотличима от нуля. Валютные между собой: 0,40–0,63, и в одну сторону они стоят 85–93 % общих дней. ρ‌ = 0,24, N_eff = 2,32 из 4. Портфель — это индекс плюс один валютный блок, а не четыре ноги. 🌪 «Почему считать дважды» Корреляция, снятая за всю историю, — это в основном спокойные дни. В панике продают всё подряд, и связи между системами на одном рынке обычно растут. Поэтому N_eff считают дважды: по средней ρ‌ и по кризисной. На тех же четырёх системах: ρ‌ = 0,70 даёт 4 / (1 + 3·0,7) = 1,29 ставки. Было 2,32 — стало 1,29. Главное, что показал замер: ошибка ОЦЕНКИ корреляции сдвигает ответ на ±0,17 ставки (интервал 2,16–2,50). Допущение о режиме — на целую ставку. Мерить ρ точнее бессмысленно, решает то, какой режим вы закладываете. 🎯 «И что с этим делать» Читать разрыв между двумя числами. N_eff в спокойное время 2,3, в кризис 1,3 — разница и есть цена «защиты», которая исчезнет ровно тогда, когда понадобится. Размер позиции ограничивать по кризисному N_eff, а не по спокойному. Портфель, который выдерживает просадку при 1,3 ставки, переживёт и 2,3, — обратное неверно. ⚠️ Оговорка, без которой пост будет враньём ρ = 0,70 в моём примере — допущение, а не замер: кризисных дней в истории мало, и корреляция по ним шумит сильнее, чем по всей выборке. Кризисное N_eff — это стресс-сценарий, который задают, а не оценивают. Рост корреляций в кризис — не закон. Трендовая система в обвал может встать против рынка и ослабить связь, а не усилить. Поэтому кризисную ρ‌ смотрят по своим системам в свои плохие дни, а не берут из учебника. И независимость сама по себе ничего не стоит. Я находил семейство систем с ρ‌ = 0,25 и тремя эффективными ставками — с нулевым краем. Подмешанное 50/50 к рабочей системе, оно уронило отношение доходности к просадке с 3,4 до 1,5. Диверсифицирует только то, что зарабатывает. 💡 В сухом остатке Считайте ставки, а не стратегии: N_eff по средней корреляции и по кризисной. Разрыв между ними — цена иллюзии. Размер — по кризисному числу. Новая система в портфеле стоит места, только если она и зарабатывает сама, и не ходит в ногу с остальными. $CRZ6 $SiZ6 $MMZ6 #трейдинг #пульс_оцени
Card image 1
1
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

27 сентября в 15:29

🪙 Золото — тихая гавань? Проверил 27 лет по дням. Спор «защищает золото или нет» обычно идёт мимо сути. Сначала надо спросить: от чего? От слабого рубля — да, и с запасом. От просадок самого золота — нет: они бывают в десятки процентов и на годы. Взял учётные цены ЦБ на золото с января 1999 по сентябрь 2026 — 6 879 дней — и пересчитал в доллары по курсу ЦБ того же дня. $GLDRUB_TOM $GDZ6 🛡 «Спаси от девальвации» Грамм стоил 187 ₽, сейчас 11 569 ₽: в 62 раза, 16 % в год. Доллар за это время подорожал с 20,65 до 84,34 ₽, в 4 раза. Остальное — рост самого металла: унция $281 → $4 266, 10 % в год. Здесь золото отработало честно. Это сразу две ставки: на слабый рубль и на дорогой металл. 🕳 «Да оно же не падает» Падает. В долларах с сентября 2011 по декабрь 2015 — минус 45 %. К пику 2011 года цена вернулась только в июле 2020-го: 8,9 года под водой. В рублях быстрее и резче. 11 марта 2022 года, при курсе ЦБ 120 ₽, грамм стоил 7 731 ₽, к октябрю — на 62 % дешевле. Мартовский уровень вернулся только в сентябре 2024-го. И прямо сейчас: от январского пика в долларах −21 %, от мартовского в рублях −14 %. Больше половины всех дней за 27 лет золото провело в просадке глубже 10 % от своего максимума. В долларах четверть дней — глубже 20 %. 📐 «Хвосты жирные — значит, риск бесконечный» Частая ошибка — мерить хвост по УРОВНЯМ цены. Уровень — ряд с трендом, его точки не независимы. График Ципфа по уровням показывает, как долго цена росла, а не как часто и как сильно она падает. Хвост риска живёт в ИЗМЕНЕНИЯХ. Как считать. Берём недельные доходности, выписываем убыточные недели и сортируем по размеру. Показатель хвоста по Хиллу — по k самым большим убыткам: α = 1 / среднее ln(xᵢ / x₍ₖ₎) Смысл: вероятность убытка больше x падает как x^(−α). При α < 1 нет даже среднего, при α < 2 — дисперсии, при α < 4 нельзя верить эксцессу. Золото, 10 % худших недель: в рублях α ≈ 2,7, в долларах ≈ 2,9. Читается так: хвост жирный, но конечный. Дисперсия есть, а по эксцессу истории верить нельзя. Недель за 3σ в рублях 1,7 % вместо 0,27 % у нормального закона — в шесть раз чаще. Худшая неделя — декабрь 2014 года, −15,7 %, это −5,6σ. Для контраста: если подставить в ту же формулу уровни цены, выйдет 2,2. Число есть, смысла нет. ⚠️ Оговорка, без которой пост будет враньём Оценка Хилла зависит от k: на 5–20 % худших недель в рублях она гуляет от 2,1 до 3,5, в долларах от 2,4 до 4,3. Поэтому число тут — для класса хвоста («жирный, но не бесконечный»), а не для расчёта резерва. Цены — учётные ЦБ, не биржевые сделки. В марте 2022 официальный курс и реальный обмен расходились, так что рублёвый пик того месяца — порядок величины. Доллары — пересчёт по курсу ЦБ, а не лондонский фиксинг. Хранение, спред банка на слитках и обезличенном счёте, НДС на слитки до марта 2022 не учтены — на круге это легко 5–10 %. Инфляцию доллара я не вычитал: в реальных долларах яма 2011–2015 глубже и дольше. 💡 В сухом остатке Золото — не тихая гавань, а валютный хедж со своей волатильностью. От рубля защищает с запасом. От самого себя — никак: минус 45 % и почти 9 лет ожидания уже были. Держать его имеет смысл долей портфеля и на горизонте, который переживёт такую яму. Сложить в него всё, чтобы спать спокойно, — ровно тот случай, когда спокойно спать не выйдет. #инвестиции #золото #пульс_оцени #новичкам
Card image 1
41
42
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

26 сентября в 11:55

🎯 Трендовой ноге нужен напарник, который зарабатывает в болтанке. Нашёл его в опционах. Часть трендовой системы из &Трендовый спекулянт (Futures) и &Алго-Ритм на $SiZ6 живёт движением: курс идёт — позиция едет. Теряет она в боковике: пробой, откат, встречный пробой, серия мелких стопов. Фильтр «не входи во флэт» тут не спасает — флэт видно только задним числом. Я пошёл с другой стороны: поставить рядом ногу, которой болтанка выгодна. 📉 «Продай тряску» Раз в месяц продаю колл и пут одного страйка у текущего курса — стрэддл. Покупатель сразу платит премию, на Si это 3–4 % цены на месяц. На экспирации я отдаю столько, сколько курс ушёл от страйка. Почему это не лотерея: цена опциона зашита в ожидаемую волатильность, а на Si она систематически выше той, что потом случается. Страховку покупают дороже, чем она стоит в среднем. Эта переплата и есть край. ⚖️ «Убери направление» Голый стрэддл — ставка на то, что курс никуда не уйдёт. Поэтому каждый вечер считаю дельту опционов по модели Блэка — на сколько фьючерсов позиция «весит» — и довожу её до нуля фьючерсом. Пример: 10 стрэддлов, курс ушёл на 1,2 % вверх, дельта −2,56 → докупаю 3 фьючерса. После хеджа остаётся одна ставка: тряска за месяц окажется меньше оплаченной. Спокойный день — заработок на времени (тета). Резкий — убыток на подстройке (гамма), и он растёт как квадрат хода. 🪽 «Закрой опасный хвост» Сверху докупаю дешёвый колл на +8 %: рубль исторически рушится рывками. Выше крыла убыток не растёт — декабрь 2014 года цикл закончил в плюсе. Нижний хвост держу размером: пут-крыло на истории стоило дороже, чем спасало. 🔗 Как это легло на трендовую ногу 137 месячных циклов, 2014–2026. Связь результатов ноги и опционов −0,41, знак держится в обеих половинах истории. В четверть худших месяцев ноги она теряла в среднем 0,85 % номинала, а опционы в те же месяцы зарабатывали 0,87 %. В процентах номинала, без реинвеста: нога одна — +225 %, просадка 6,05 % +1 стрэддл на контракт — +264 %, просадка 4,16 % +2 стрэддла — +303 %, просадка 3,52 % Сами опционы слабые: +39 % за 12 лет при просадке 6,97 %. Ценность не в их доходе, а в том, КОГДА он приходит. 🧪 Что не сработало Два улучшения проверял с условиями успеха, записанными до прогона. Фильтр «не продавать дешёвую премию» — сигнала нет, отсеянные месяцы не хуже оставшихся. Серии на 2–3 месяца вместо месячных — не лучше, а худший цикл глубже. Оба отклонены. А длинная история срезала ожидания: на 2022–2026 край был +0,45 % цены за цикл, с 2014 года — около +0,2 %. Первое окно оказалось удачным. ⚠️ Оговорка, без которой пост будет враньём Опционы посчитаны по расчётным ценам биржи, спред — только на входе. Это верхняя оценка. Крыло +8 % в месячной серии почти не торгуется, но его держат до экспирации и платят один раз по аску — живой стакан показал переплату около 0,02 % цены. Сейчас идёт теневой прогон на живых котировках, без денег. Выйти досрочно дорого — около 0,39 % цены, почти прибыль цикла. Стоп, как на фьючерсе, сюда не повесишь. Худший цикл истории — не обвал, а болтанка июня 2022 года на высокой волатильности: −3,4 % цены. И на графике ровная полка в 2018 году — там опционной истории почти нет, один цикл. 💡 В сухом остатке Диверсификация — это не «добавить ещё систему», а добавить ту, что зарабатывает в чужие плохие месяцы. Тренд платит за движение, проданный стрэддл — за его отсутствие. Слабая стратегия сделала сильную ровнее. Отдельно я бы её не торговал. #трейдинг #пульс_оцени
Card image 1
1
2
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

21 сентября в 22:12

🎲 Корреляция говорит «вместе». Но молчит о том, что будет на краю. Когда в портфеле несколько систем, главный вопрос не «сколько каждая зарабатывает», а «сложатся ли их убытки в один день». Обычный ответ — корреляция, одно число. Но она описывает середину, а платит счёт за края. Инструмент, который говорит про края отдельно, — копула. Разбираю его на валютных и индексных фьючерсах. Часть систем из &Трендовый спекулянт (Futures) и &Алго-Ритм . 🧩 «Раздень зависимость от масштаба» Возьмите доходности системы и замените каждый день не процентом, а МЕСТОМ в её собственном ряду: «худшие 5 % моей истории», «середина, 50 %». Число от 0 до 1. Так же со второй. Теперь у обеих одна шкала, и весь масштаб — хвосты, асимметрия, плечо — из картинки ушёл. Что осталось, то и есть копула: когда у первой выпадает 0.03, что обычно выпадает у второй. Распределение разбирается на маргиналы (какая нога сама по себе) и копулу (как они сцеплены). Значит, можно взять честные исторические хвосты своих систем и приклеить к ним ЛЮБУЮ связь. 🎛 Семейства спорят ровно об одном — о краях Гауссова. В середине связь есть, но на краю ноги расцепляются: вероятность «вторая тоже в катастрофе, раз первая уже там» стремится к нулю. Плюс — один параметр, прозрачно и быстро. Минус — обещает, что в кризис системы разойдутся, а они сходятся. t-Стьюдента. Хвосты степенные, углу не даёт опустеть. Плюс — честнее описывает совместные обвалы. Минус — второй параметр, который и управляет краями, приходится оценивать в самом хвосте, где данных меньше всего. Клейтона. Слипается только НИЗ: падают хором, растут врозь — на рынок похоже. Минус — асимметрия тихо съедает доходность модели, и легко принять «риск уменьшился» за «дрейф исчез». Я на этом обжёгся. Гумбеля — зеркальная. ⚠️ Мой приём: не оценивать связь, а назначить её руками Копулу можно оценить по истории. Я так не делаю — и это главная мысль поста. Оценка отвечает «как ноги ходили вместе раньше». Мне нужно другое: «а если слипнутся сильнее». Поэтому маргиналы беру из своей истории как есть, а корреляцию внутри копулы ВБИВАЮ: по валютным фьючерсам историческая выходила 0.38 и 0.62 — в стресс ставлю 0.70, в катастрофу 1.00. 📏 Три замера, а не рассуждения Первый. Сравнил грубую фиксированную 0.70 с тонкими: асимметричной и со случайно плавающей. CVaR95 просадки — 9.3 % против 7.5 % и 6.4–6.9 %. Грубое допущение оказалось КОНСЕРВАТИВНЕЕ изощрённых. Менять не на что. Второй. Одинаково ли строга вбитая 0.70 на разном числе систем? Мерил долю пути от независимости до полного слипания: 0.70–0.73 на четырёх составах, из двух и трёх ног, при исторической связи от 0.03 до 0.62. Число ног ручку не сдвигает. Третий. Во сколько раз связь 0.70 ухудшает CVaR против независимости: на паре ×1.47, на тройке ×1.84. На трёх ногах стресс бьёт сильнее — там больше диверсификации, которую он разрушает. Приём масштабируется сам. 🚪 Почему я так и не перешёл на t-копулу Собирался и не стал, после одного вопроса: если связь вбивается руками, что даст другое семейство? Ничего. При 1.00 гауссова копула вырождается в комонотонность: каждый день все ноги берут ОДИН И ТОТ ЖЕ процентиль своей истории. Сцепить сильнее не может ни одна. t-копула — другая дорога к тому же пределу, а не точка за ним. 💡 В сухом остатке Корреляция — это наклон. Копула — ещё и края, а края и есть риск. Оценивать копулу осмысленно, когда вы ей нормируете: так считали транши облигаций и в 2008 сгорели. Если вы ей себя пугаете, семейство почти не важно — важно, докуда готовы выкрутить ручку и помечено ли это как допущение. Вбитое число честнее оценённого ровно до тех пор, пока подписано вбитым. $SiZ6 $CRZ6 $MMZ6 #трейдинг #пульс_оцени  
Card image 1
2
3
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

20 сентября в 20:25

⚖️ Правило, которое дважды подряд дало мне ответ наоборот Проверял идею: вместо того чтобы выбирать один параметр стратегии, торговать сразу несколько её версий с разными настройками, разделив капитал поровну. Правило приёмки объявил заранее, до замеров — так, чтобы не подгонять его под результат. Три условия: профит-фактор не ниже худшей из версий, просадка ниже, чем у боевой, и версии должны быть достаточно независимы. Правило отработало. Дало ровно противоположный ответ. Дважды из двух. 🪤 Где ловушка Портфель из четырёх версий по четверти капитала несёт меньше риска, чем одна версия на полном размере. Не потому, что диверсификация работает, а просто потому, что размер меньше. Я замерил: 75–78% волатильности исходной системы. А раз риск меньше — просадка падает автоматически. Условие «просадка ниже базы» выполняется само собой, есть польза или нет её вовсе. То есть я поставил условием то, что выполняется механически. Всё равно что оценивать автомобиль по расходу топлива, разрешив ему ехать медленнее. 🔀 Как это выглядело на деле Первый случай, юань. Ансамбль показал просадку заметно ниже боевой версии, но не прошёл третье условие — версии оказались недостаточно независимы. Формально отклонён. Второй случай, доллар. Тот же ансамбль по той же схеме прошёл все три условия. Формально принят. Потом я привёл оба к равной просадке — и получил обратную картину. Юань: отклонённый вариант при равной просадке давал +1402% против +619% у боевой. Больше чем вдвое. Доллар: принятый вариант при равной просадке давал 14 709% против 26 987%. Почти вдвое хуже. Правило не просто ошиблось. Оно оказалось антикоррелировано с тем, что я хотел измерить. 📏 Что делать вместо Приводить всё к равной просадке и сравнивать только после этого. Механика простая. Берём ряд доходностей кандидата и умножаем на множитель — это ровно то же, что торговать его с другим плечом. Подбираем множитель делением пополам так, чтобы просадка совпала с базовой. Дальше сравниваем итоговую доходность. Просадка у обоих одинаковая по построению. Значит, разница в доходности — это и есть преимущество, а не разница в размере позиции. 🔎 Множитель сам по себе — информация Его нельзя выбрасывать после сравнения. Он показывает, какой ценой достаётся выигрыш. У юаня, чтобы догнать просадку боевой версии, ансамблю потребовался множитель 1,78 — то есть плечо 355% вместо 200%. И при этом ухудшился хвостовой риск: средний убыток в худших днях вырос с 2,35% до 3,01%. Читается так: да, при равной просадке доходность выше — но за это надо почти удвоить плечо и получить более тяжёлые отдельные дни. Бесплатного обеда не выдали. 🧪 Проверка, что метод работает Я не стал верить себе на слово и завёл три контрольные точки. Первая: беру систему и просто уменьшаю её размер вдвое. Просадка падает с 24,1% до 12,7% — «безопаснее» без всякого преимущества. Ловушка воспроизводится. Вторая: привожу разбавленный вариант к исходной просадке. Множитель выходит ровно 2,00, доходность совпадает с исходной до третьего знака. Разница исчезла — как и должна была, ведь это одна и та же система. Третья: беру систему с настоящим преимуществом. После приведения она по-прежнему впереди, 663% против 137%. Значит метод не «зануляет всё подряд», а различает разбавление и кромку. 💡 Итог Условия вида «просадка ниже» и «риск меньше» звучат осторожно и ответственно, а на деле пропускают что угодно, если сравниваемые варианты идут с разной экспозицией. Но тут есть что копать дальше. Я записал это себе в регламент рядом с другим правилом того же рода: сравнивать только на одинаковых окнах. Там приводят к общей длине истории, здесь — к общему уровню риска. Смысл один: пока обе стороны не поставлены в одинаковые условия, сравнивать нечего. $SiZ6 $CRZ6 #трейдинг
Card image 1
3
4
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

11 сентября

📈 Фьючерс живёт квартал. А история нужна за годы. Любой фьючерс кончается: контракт умирает, торговля переезжает в следующий, и так по кругу. Проверять стратегию на одном контракте бессмысленно — три месяца это не история, это эпизод. Значит, контракты надо склеивать в один длинный ряд. И вот тут начинается интересное: склеить можно двумя способами, и на одном и том же алгоритме они дают разные деньги. Недавно мерил эту разницу в своём тестере на $CRU6 — вышла четверть результата. 🧩 Откуда вообще берётся шов Старый контракт на юань стоит, скажем, 12.80, новый на тот же юань — 12.95. Эти 15 копеек не движение рынка. Это плата за срок: в цене дальнего контракта сидит процентная ставка. Инструмент один, цены разные, и в день переезда ряд обязан как-то через это перешагнуть. 🩹 Способ первый: пересчитать прошлое Берём разницу на стыке и сдвигаем на неё всю предыдущую историю. Потом ещё раз, на следующем стыке. И ещё. Выходит идеально гладкая кривая без единого разрыва — ровно то, что показывает большинство терминалов, когда открываешь «юань» за десять лет. Чем хорош. Индикаторы не ломаются: средняя, ATR, канал считаются сквозь стык и не подпрыгивают на ровном месте. Глазами ряд читается как одна непрерывная бумага — для разметки уровней и сверки с чужим графиком это то, что нужно. Чем плох. Цены прошлого — не те, по которым тогда торговали. Уровень 12.80 из 2022 года после дюжины пересчётов превращается в 11.40 или в 14.20, смотря сколько было переездов и куда смотрел базис. Всё, что привязано к абсолютной цене, начинает врать: стоп в рублях, гарантийное обеспечение, размер позиции, издержки в шагах цены. На длинной истории такой ряд умеет уползти и в минус — цена, которой не бывает. А главное: размер сдвига известен только в день экспирации. Ряд, на котором мы проверяем 2022 год, собран из чисел, которых в 2022 году не знал никто. Это заглядывание в будущее. Не грубое, не «подсмотрел завтрашний бар», но самое настоящее: тест опирается на то, что случится позже. 📏 Замер, а не рассуждение Одна стратегия, те же параметры, то же окно, разница только в способе склейки: — на пересчитанном прошлом +502 тыс ₽ — на настоящих ценах +629 тыс ₽ Пересчёт занизил результат на четверть. Знак мог оказаться и обратным — важно, что расхождение крупное и угадать его заранее нельзя. 🧱 Способ второй: встык, по настоящим ценам Ничего не двигаем. До экспирации в ряду стоят цены старого контракта, после — нового. На стыке остаётся ступенька. Чем хорош. Каждая цена та самая, по которой в тот день действительно торговали. От неё честно считаются ГО, стоп, размер позиции и издержки. И заглядывать некуда: будущее в сборке ряда не участвует. Чем плох. Той самой ступенькой. Если в момент переезда у стратегии открыта позиция, движок видит скачок цены и записывает прибыль или убыток, которых не было: никто не переносил позицию по этой цене, она просто сменила контракт. Я называю это фантомом шва. 🧮 Фантом лечится не склейкой, а учётом Его не надо прятать — его надо вычесть. Движок знает, где стоят стыки, и вычёркивает ровно тот кусок результата, который родился из скачка, а не из движения рынка. На четырёх годах одной ноги таких сделок нашлось 11, и уносили они 155 тыс ₽ убытка, которого стратегия на самом деле не несла. Пока их не вычли, она выглядела хуже, чем есть: профит-фактор 1.72 против настоящих 1.94. У другой ноги знак был бы обратным, и она бы, наоборот, красовалась. Фантом одинаково умеет и портить, и приукрашивать — тем и опасен. ⚠️ Оговорка, без которой пост будет враньём Числа выше сняты с одного инструмента и одной системы. Это не «всегда четверть»: на другом ряду разрыв будет другим и вполне может смотреть в другую сторону. Утверждение тут одно — разница есть, она крупная, и посчитать её можно только на своих данных. И пересчитанное прошлое — не «плохая склейка». Это другой прибор. Плохо, когда им меряют деньги. #новичкам #пульс_оцени #трейдинг
Card image 1
1
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

10 сентября

🤖 ИИ внутри торгового терминала: что у него можно попросить. Про нейросети в трейдинге спорят об одном: предскажет цену или нет. Ответ давно известен — нет. Но за этим спором потерялось применение куда более скучное и куда более рабочее. ИИ не как аналитик, а как руки внутри терминала. Недавно собирал такую связку на #osengine — открытой платформе для торговых роботов. Подключил своего ИИ агента через mcp. Ниже то, что у неё реально можно попросить, обычными словами. 🔧 «Перенеси эту стратегию в робота» Самое ценное. Робот в OsEngine — обычный файл кода, который платформа собирает на лету: отдельная среда разработки не нужна, положил файл и перезапустил. Шесть моих стратегий на $SiU6 $CRU6 $MMU6 $SBER жили скриптами на графике и исполнялись руками. Пяти нужен робот — шестая, вечный портфель, ребалансируется четыре раза в год. Перенос занял один день: четыре файла покрыли эти пять, две канальные системы отличались одним числом и стали одним классом. Все собрались с первого раза. Оговорка, без которой пост будет враньём: стратегии не придуманы моделью. Они мои, отобранные заранее. ИИ сделал перевод с языка на язык — работу аккуратную, объёмную и совершенно механическую. Ровно на такой он и силён. 🎛 «Поставь всем режим „только закрытие“, я уезжаю» Дальше то, ради чего иначе открываешь десяток окон. Мост к терминалу — около полутора сотен команд. Сменить инструмент и таймфрейм. Переключить робота между боем и эмуляцией. Поменять порог входа. Снять конфиг и сказать, чем он отличается от вчерашнего. Открыть или закрыть позицию по рынку. Навесить сопровождение: трейлинг, перевод в безубыток, сетку заявок. Всё словами, без кликов и без шанса промахнуться мимо галочки. 🧪 «Прогони канал от 40 до 80, половину истории оставь на проверку» Тестер и оптимизатор доступны теми же командами: период, депозит, комиссия, проскальзывание, число потоков, разделение истории на подбор и проверку, фильтры по результату, выгрузка отчёта. Честно: этот кусок у меня пока не обкатан — история в свежей копии платформы пустая, её ещё качать. Но качается она тоже командой: создать набор, добавить бумаги, включить загрузку. 📊 «Сверь, что позиции набраны в нужной доле капитала» Журнал робота отдаёт эквити, просадку, статистику, открытые и закрытые сделки. Рядом — счета брокера: капитал, позиции, средняя цена. Отсюда арифметика, которую лень делать руками. Пример ловушки ценой в десять раз. Стратегия на графике считает объём так, будто пункт цены стоит рубль, а у мини-индекса он стоит десять. Тестер честно рисует 178 контрактов, на счёте их должно быть около двенадцати. Лечится тем, что стоимость пункта вычисляют из открытой позиции, а не вспоминают: нереализованный результат делят на сдвиг цены, умноженный на число контрактов. 🔍 «Почему вчера не было входа?» Сегодня три робота из пяти не сделали ни одной сделки. Раньше на такой вопрос уходил вечер — разбор занял минуты и дал три разных подробных ответа. ⚠️ Чем за это платишь Модель ошибается уверенно, поэтому проверять приходится всё. Новичкам нужно быть особенно осторожно. Фраза "сделай мне прибыльного торгового робота" может привести к тому, что робота со создаст, только вот логика его будет неисполнимой. ИИ может заниматься откровенной подгонкой параметров (если его не научить обратному). Да что говорить, даже иногда очевидные вещи может выдать из своих догадок и ошибиться. Недавно ИИ признал фьючерс $NGU6 неликвидным, хотя даже не видел его стакан. И кликать в интерфейсе osengine модель не умеет: подключение брокера каждый день делается руками. 💡 В сухом остатке ИИ здесь не торгует и не решает. Он пишет обвязку, переключает режимы, считает доли и находит строку в коде, из-за которой робот промолчал. Экономит не мышление, а часы механики вокруг него. #трейдинг #новичкам
Card image 1
4
5
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

5 сентября

«Недвижимость — это лотерея с подкрученными кубиками. Почему "квадратные метры" не спасут ваши деньги». Почему то у наших людей в головах укоренилось мнение недвижимость = стабильность. «Квадраты не обесцениваются», — говорят все вокруг и сравнивают их по риску с депозитам и короткими ОФЗ. Чаще даже не в пользу вторых. Но статистика говорит другое. Мы собрали данные по ценам на недвижимость в РФ за 25 лет (2000–2024), пересчитали в доллары и построили график Ципфа. Результат заставил пересмотреть всё. 🔥 Что мы узнали 1. Цены на недвижимость подчиняются степенному закону (парету), а не нормальному, тут уже можно не продолжать читать тем кто знает, что это значит. Это не «колокол» с предсказуемыми колебаниями, тут жирнейшие хвосты. Параметр α = 0.78. И это меньше 1. Что это значит на практике? Дисперсия цен теоретически бесконечна. То есть отдельные экстремальные события (обвал 2014–2015, скачок 2020–2022) влияют на среднее так сильно, что «историческая средняя» теряет любой смысл. Никакой стабильности и тихой гавани не ждите. 2. Графики Ципфа для приростов цен не линейны. Когда смотришь на абсолютные цены — степенной закон работает. Но когда смотришь на еженедельные изменения — они распределены почти нормально. Без жирных хвостов. Без стабильного роста. Рынок недвижимости — не накопительная машина. Это последовательность случайных шагов с эпизодическими скачками. 3. Загиб графика. Это смесь 25 разных рынков. Каждые 5 лет — новая популяция с другим ценовым масштабом. Смешиваешь 14 тысяч долларов за квадратный метр (2000) с 67 тысячами (2024) — получаешь «излом», который выглядит как доказательство долгосрочного роста. Но это просто иллюзия, созданная смешением эпох. Если брать одну эпоху — линия на графике Ципфа прямее, но и потенциал роста — меньше. 🎰 Почему «квадраты» — плохой способ сохранить деньги. Средняя доходность в долларах за 25 лет: С 2000го года по 2008 был рост в 5.5 раза. Точка на сглаженном графике в 2015м году — это падение на 50% от пиков. 2024 год —снова рост на 70% от минимума. И это на горизонте 15 лет. А теперь посчитайте расходы: Коммуналка, налоги, ремонт, простои между арендаторами; Комиссия риелтору при покупке и продаже — 3–5% с каждой стороны; Транзакционные издержки — это 6–10% капитала, которые нужно просто перекрыть Чтобы просто «отбиться» от транзакционных издержек — цена должна вырасти на 8%. А это два года роста в лучшем случае. 🏠 А для жизни — норм? Для жизни — да. Вы получаете полезность: крыша над головой, стабильность, возможность обустраивать. Это потребление, а не инвестиция. И платить за эту полезность — нормально. Для сдачи в аренду — тоже ок, если считать денежный поток реально, а не на бумаге. 1–2% годовых в долларах от стоимости квартиры в год — это не «обгон инфляции», это «отставание от депозита». Но вы получаете денежный поток, на который можно даже жить. 💣 А для «сохранения денег»? Вот здесь — главная иллюзия. Степенной закон с α < 1 означает: вы не можете оценить «справедливую стоимость» актива. Средняя не сходится. Историческая доходность — не предсказатель будущей. Пик 2008-го не гарантирует, что 2027-й будет выше. Рынок с жирными хвостами — это рынок, где: 80% времени — тишина и скучный рост 20% времени — события, которые переписывают всё (обвал 2008, кризис 2014, пандемия 2020, девальвация 2022) И вы не знаете, какой из этих 20% наступит первым. 📊 Вывод Недвижимость — не плохой актив, но это актив с непредсказуемым распределением доходностей, где хвосты настолько жирные, что классическая финансовая математика перестаёт работать. «Квадраты не обесцениваются» — миф. Они обесцениваются в моменты, когда вы этого меньше всего ожидаете. И растут в моменты, когда все уже купили. Если ваша цель — просто сохранить деньги от обесценивания рубля — посмотрите на диверсификацию. Потому что ставка на один актив с α < 1 — это не инвестиция. Это ставка на то, что следующий «жирный хвост» пойдёт вверх. #пульс #пульс_оцени #новичкам #инвестиции
Card image 1
1
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

4 сентября

📅 Как я объявил одну систему втрое рискованнее другой. Обе были одинаковые. Сравнивал две свои канальные системы: одну на долларе, другую на юане. Код один и тот же, отличается только инструмент и длина канала. Получил: у юаня максимальная просадка 18,7%, у доллара 6,2%. Показатель жирнохвостости — 0,145 против 0,315. Вывод напрашивался сам: юань втрое рискованнее по просадке, зато у доллара тяжелее хвост. Записал. Оба утверждения оказались мусором. 🕳 Где дыра Долларовая система торгует с 2013 года, юаневая — с 2022-го. Тринадцать лет против четырёх. Я сравнивал их на разных окнах и приписал инструментам то, что было свойством нарезки. Механизм простой и обидный. Движок восстанавливает кривую капитала из списка сделок, начиная с исходного депозита. К 2022 году долларовая система уже выросла в десятки раз. Один и тот же убыток в рублях весит на выросшем счёте копейки в процентах, а на молодом — заметные проценты. То есть я мерил не риск систем. Я мерил, кто раньше начал. ✂️ Что вышло после обрезки Обрезал долларовую по границам юаневого окна — с 29 апреля 2022 по 21 июля 2026, 1016 позиций. Пересчитал всё заново: Просадка: 19,31% против 18,70% у юаня Доля прибыльных: 44% против 44% Жирнохвостость: 0,172 против 0,145 Концентрация топ-20 сделок: 21% против 21% Обе системы получили одинаковый вердикт. «Втрое рискованнее» превратилось в разницу в полпроцента. «Хвост жирнее» поменял направление на противоположное. Практический итог оказался важным: перевод юаня на эту систему не заводит меня в незнакомую зону риска. Это та же система с тем же профилем, что четыре года работает на долларе. Но узнал я это только после того, как выровнял окна. ⚠️ Вторая версия той же ошибки Есть более коварная форма. Когда считаешь связь между системами, хочется взять «последние N доходностей каждой» — так проще, длины совпадают. Так делать нельзя. Если истории разной длины, последние N дней одной системы соответствуют другим календарным датам, чем последние N дней другой. Ряды разъезжаются по времени, и связь между ними занижается — иногда до нуля. На этом я тоже обжёгся, отдельно от первого случая. Теперь во всех расчётах ряды выравниваются строго по датам: берётся пересечение календарей, недостающие дни заполняются нулём. Никаких «последних N». 🧮 Как это выглядит в правиле Я записал себе так: любое сравнение — только на одинаково нарезанных окнах. Общее окно определяется самой короткой историей, и точка. Побочный эффект неприятный, но с ним приходится жить. Когда я собирал портфель из четырёх своих фьючерсных систем, общее окно схлопнулось до 2022 года — по самой молодой ноге. Одиннадцать лет истории по индексной системе в расчёт не вошли: сравнивать её с юаневой можно только там, где они обе существуют. Это цена честности. Альтернатива — красивые числа ни о чём. 💡 Зачем об этом вообще помнить Ошибка такого рода не падает с ошибкой. Она выдаёт правдоподобную таблицу, где всё сходится и всё выглядит осмысленно. Именно поэтому её легко принять за находку — я и принял, и записал в выводы. Правило простое: прежде чем сравнивать два числа, спросите, на каких данных получено каждое. Если окна разные — вы сравниваете не системы, а даты их запуска. $CRU6 $SiU6 #трейдинг
Card image 1
3
4
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

30 августа

⚖️ Спор о метриках, который можно не начинать. Две версии одной стратегии. У первой профит-фактор выше, у второй просадка меньше. Какая лучше? Обычно тут начинается выбор оружия. Кто-то верит в Шарпа, кто-то в фактор восстановления, кто-то в CVaR. И спор идёт не о стратегиях, а о том, чьей линейкой мерить. Причём линейку почти всегда выбирают после того, как увидели результаты. Есть способ ответить раньше, чем метрика выбрана. 📐 Предположение, которое всё меняет Формулировка Горчакова из заметки 2004 года звучит так. Возьмём выборочные функции распределения доходностей двух систем. Если у первой она поточечно не выше, чем у второй, то у первой «доходность» больше, а риск меньше - при ЛЮБЫХ разумных функциях доходности и риска. Это называется стохастическим доминированием первого порядка. На человеческом: выстройте доходности обеих систем по возрастанию и сравните по порядковым местам. Худший день первой не хуже худшего дня второй. Второй по плохости - не хуже второго. И так далее до самого лучшего. Если это выполняется, спорить не о чем. Не «по моей метрике лучше», а лучше по всем сразу - и по тем, которые вы ещё не придумали. Любая функция, которая считает больше лучше меньшего, поставит первую систему выше. Заметьте, насколько это сильнее обычного сравнения. «PF выше» - утверждение об одном числе. Доминирование - утверждение обо всём распределении. 🔬 Что вышло на моих данных Я вставил эту проверку в свой риск-движок и первым делом прогнал через неё одиннадцать вариантов канальной системы на долларе. Все на одной истории - 2366 общих торговых дней, тринадцать лет. Профит-факторы от 1,569 до 1,709. Результат: ни один вариант не доминирует ни один другой. Ни одной пары. Я посмотрел, насколько они вообще близки к доминированию. Для каждой пары считаю долю точек, где порядок нарушается: ноль означает чистое доминирование, половина - полную неразличимость. Медиана по всем парам вышла 48,9%. Сорок девять процентов. Распределения пересекаются ровно посередине. 🤔 Что это значит на самом деле Разница в профит-факторе между вариантами есть - от 1,57 до 1,71, почти девять процентов. А разницы в распределении нет. Значит, выбирая один вариант из этого набора, я выбираю не лучший. Я выбираю тот, который выиграл по конкретной метрике, - а метрика в такой ситуации не обнаруживает факт, а совершает выбор за меня. Это неприятный вывод, потому что именно так все и настраивают системы: сканируют параметр, берут максимум профит-фактора. Формально всё честно. Но данные не подтверждают, что найденная точка чем-то лучше соседних. Тот же результат я получил и на четырёх вариантах канала на юане, включая свою боевую. Ни одного доминирования, нарушения 45-58%. 🧹 Побочная польза Строгое доминирование на реальных данных почти никогда не срабатывает. Это не недостаток метода - это его сообщение: кандидаты действительно несравнимы. Зато у фильтра нашлось неожиданное применение. Две пары файлов дали ноль нарушений в обе стороны - то есть распределения совпали точно. Это оказались дубликаты выгрузок: одинаковое число сделок, одинаковый профит-фактор, я бы их не заметил, а фильтр показал сразу 😆. 💡 Как я это использую Не как селектор - он почти всегда молчит. Как дешёвый предохранитель перед сравнением метриками. Если доминирование есть - вопрос закрыт, метрику можно не выбирать. Если его нет - я знаю, что дальше начинается вкусовщина, и отношусь к результату соответственно: не «система А лучше», а «система А выигрывает по такой-то мере, и это выбор, а не факт». Стоит проверка одну функцию и три секунды счёта. А главное - она не даёт спорить о линейках там, где мерить нечего. $SiU6 $CRU6 #трейдинг #пульс_оцени
Card image 1
3
4
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

20 августа

📈 Одна картинка вместо хвостовой модели. Только вчера рассказывал, как хвостовая модель обещала «раз в 722 года» за день до события. Продолжение: оказывается, есть картинка, которая ловит такое враньё на глаз. Называется график Ципфа. Талеб показывает его на заявках по безработице: ковидный скачок выглядел невозможным выбросом - а на этом графике лёг ровно на продолжение прямой. Кто смотрел на график, для того сюрприза не было. Построили такой же по нашим стратегиям. 🧭 Как он устроен Берём все убыточные дни стратегии. По горизонтали - размер дневного убытка, по вертикали - доля дней хуже этого размера. Обе оси логарифмические: деление - не «плюс один процент», а «в десять раз». Всё чтение сводится к одному правилу: если правый край облака точек ложится на прямую - убытки живут по степенному закону. У маленьких и огромных убытков один механизм, прямая продолжается вправо за пределы виденного, и предела у убытка НЕТ. Худший день истории - не аномалия, а очередная точка на той же линии. Следующая будет правее. Наклон прямой - скорость, с которой редеют большие дни: круче - большие убытки быстро становятся редкостью, положе - хвост жирный и «рекорды» будут обновляться регулярно. А вот если кривая в конце загибается вниз - хвост действительно обрезан: что-то физически мешает большим убыткам случаться. 🔍 Что видно на наших трёх ногах Стратегия на $CRU6 ( &Алго-Ритм ): день −5.82 %, тот самый «раз в 722 года», лежит прямо на прямой. Подгонка говорила «предел −3 %», картинка говорила «прямая, предела нет». Картинку можно было посмотреть за день ДО. Стратегия на $MMU6: худший день −25 % (25 февраля 2022) сидит у продолжения прямой. Под степенным взглядом это не чёрный лебедь, а ожидаемая точка. И наклон у этой прямой пологий - хвост честно жирный. Стратегия на $SiU6 (часть из &Трендовый спекулянт (Futures) ) единственная нога, где хвост в конце загибается вниз. Это след килсвитча на −2 % - он реально режет большие дни. Но точки до −4.77 % на графике тоже есть, и они показывают ровно то место, где защита не работает: гэп между сессиями проходит мимо любого внутридневного стопа. ⚙️ Практическая польза для алгоритмов 1. Секундная проверка любой риск-модели. Если на Ципфе прямая - запрещено верить модели, стопу или бэктесту, которые обещают предел убытка. Никакой математики, один взгляд. 2. Видно, работает ли защита. Загиб вниз в конце - стоп или килсвитч реально обрезает хвост. Нет загиба — защита декоративная и в худшие дни не участвует. 3. Устойчивость к новым данным. Прямая почти не меняется от свежих точек - поэтому вывод «предела нет» можно сделать до кризиса, а не после. Чем при этом НЕ пользуемся: наклоном как числом. Оценка наклона по этой картинке смещена (на MXI даёт 2.06 против 2.5-2.7 по аккуратному методу). Число для решений остаётся прежним, из утреннего поста: показатель хвоста не измеряем, а назначаем - пол α = 3. 🔧 Куда это вшито Панель Ципфа теперь рисуется автоматически при каждой генерации отчёта Монте-Карло: отдельным PNG и листом внутри Excel, по всем шести боевым контурам. Каждый вывод подгонки «хвост обрезан» будет очно встречаться с прямой на картинке. 🎯 Что унести Прежде чем верить любой цифре риска - положите убытки на дважды логарифмический график. Чем ровнее прямая, тем меньше прав у слова «беспрецедентный»: резерв обязан допускать день хуже виденного. А единственный законный способ обрезать хвост - механический, стопом всего алгоритма, и его работу видно на том же графике загибом вниз. #трейдинг #пульс_оцени
Card image 1
2
3
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

20 августа

🎲 Модель сказала «хуже не бывает». Проверил - бывает. В нашем Монте-Карло есть отдельный прогон, где хвостовые дни рисуются не из истории, а из обобщённого распределения Парето. Смысл в том, чтобы дать модели право нарисовать день хуже виденного. Форму хвоста задаёт один параметр - ξ. Если он больше нуля, хвост степенной и предела нет. Если меньше - модель утверждает, что предел есть и хуже не бывает. Сегодня выяснилось, что она это утверждала. И зря. 🦃 Проверка на индюке Беру ногу юаня и подгоняю хвост по данным ДО 19 сентября 2024 года. Выходит ξ = −0.24: хуже примерно −3 % не бывает. Спрашиваю ту же модель про день −5.82 %. Ответ: раз в 722 года. Но он случился. Для сравнения, обычная нормалка, которую все ругают за недооценку хвостов, давала для этого дня 3.9 сигмы - то есть оказалась ближе к правде, чем «правильная» хвостовая модель. По второй ноге картина та же. Килсвитч в стратегии стоит на −2 %, а пять худших дней: −4.77, −4.76, −4.64, −4.10, −3.87 %. Килсвитч режет убыток внутри дня и не работает, когда цена уходит между сессиями - тогда позиция открывается уже за порогом. Модель приняла защиту от одного риска за отсутствие другого. 📉 Почему так вышло Причина не в коде. У Талеба это сказано прямым текстом: по данным выборки хвост рисуется тоньше, чем он есть. Данных в хвосте всегда мало по определению, и подгонка систематически ошибается в сторону «всё спокойно». Насколько мало - видно на стратегии на $MMU6 , единственной нашей ноге с честным степенным хвостом. Показатель α = 2.7, каппа 0.307. Убираю из выборки ОДИН день, 25 февраля 2022: α = 2.70 → 13.3 Один день из 1367. Вся оценка хвоста держится на нём. 🔍 Что при этом всё-таки работает Одна вещь из степенного закона на наших данных держится твёрдо. Если убыток пробил порог, его средний размер составляет примерно 1.6 порога - и это отношение почти не меняется: порог 2.25 % → 1.76 порог 2.83 % → 1.65 порог 3.79 % → 1.63 порог 5.11 % → 1.53 То есть предсказать МОМЕНТ нельзя, оценить МАСШТАБ уже начавшегося - можно. 🐛 Что нашли попутно Пока чинили одно, вылезло другое. Модель изредка рисовала день −350 %. Это не убыток, это отрицательный счёт: при таком числе путь эквити переворачивает знак, и просадка после этого считается мусорной. Таких дней было 23 из 249 666 - сотая доля процента. Они одни раздували CVaR99 с 93 % до 243 %. 🔧 Метод, к которому пришли - Пол вместо оценки. Если подгонка даёт ξ ниже 1/3, берём 1/3. Модели просто запрещено обещать предел, средний избыток при этом остаётся тем, что в данных - выдумывается не хвост, а только скорость его затухания. - Потолок −100 % на день. Дальше маржин-колл и ноль на счёте, а не отрицательный счёт. Прогон честно засчитывается как разорение. - В отчёте публикуются обе цифры - и подогнанная, и рабочая, видно, где сработал пол. Перегнали все шесть боевых контуров. Пол сработал на всех алгоритмах, которые "обещали меньше" на всех пяти строках. Требуемый резерв вырос: - Стратегия на $SiU6 (частично из &Трендовый спекулянт (Futures) при 200 %: 23.9 % → 33.8 %; - Стратегия на $CRU6 (из &Алго-Ритм ) при 200 %: 28.4 % → 32.4 % А по стрвтегии на MXI цифра наоборот УПАЛА: 91.0 % → 65.1 %. Те самые 0.01 % дней. 91 % было ошибкой счёта, а не оценкой риска - и мы бы приняли решение по плечу, глядя на неё. 🎯 Что стоит унести Оценка хвоста по своим данным почти всегда врёт в спокойную сторону, и чем меньше кризисов вы пережили, тем спокойнее выглядит картинка. Поэтому показатель хвоста разумнее не измерять, а назначать сверху. #трейдинг #пульс_оцени
Card image 1
4
5
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

11 августа

📉 «Максимальная просадка −19,55%». Что это число обещает на самом деле. В карточке любой стратегии есть строка «максимальная просадка». Её читают как границу: вот настолько плохо бывало, значит примерно настолько плохо и будет. На неё считают плечо, под неё подбирают депозит. Я годами писал это число в своих отчётах, не погружаясь глубоко, хоть и понимал интуитивно кое-что. Недавно наткнулся на заметку Александра Горчакова 2003 года. Максимальная просадка не потолок. Это самая глубокая яма из тех, что уже попались. И вопрос не в том, насколько она глубока, а в том, сколько вы шли, прежде чем в неё угодить. 🎲 Формула на две строки Превратим кривую доходности в последовательность нулей и единиц: единица - просадка не глубже прежнего максимума. По определению максимума весь прошлый ряд состоит из одних единиц. Дальше обычная байесовская арифметика: вероятность «удержаться» считаем изначально любой от 0 до 1 и смотрим, что сообщила история. P = (T + 1) / (T + N + 1) T - сколько дней система отторговала, N - горизонт, на который нужна гарантия. Всё. Никакого Монте-Карло и других сложных метрик. Отсюда главное: если горизонт составляет долю c от прожитой истории, вероятность падает примерно как 1/(1+c). Гарантия на срок в половину истории - это уже 2/3. На срок, равный всей истории, - ровно половина. 🧮 Мои системы (с учётом бектеста): Год - примерно 250 торговых дней. - Индексная, торгует с 2015 года, T = 2899: на год 2900/3150 = 0,921, на три года 2900/3650 = 0,795 - Юаневая канальная в &Алго-Ритм и частично в &Трендовый спекулянт (Futures) с 2022 года, T = 1055: на год 1056/1306 = 0,809, на три года 1056/1806 = 0,585 Разница не в качестве систем - она вся в длине истории. У юаневой четыре года бэктеста, поэтому примерно один шанс из пяти увидеть новый рекорд просадки уже в первом году и почти один из двух за три. (Числа сняты с бэктеста, плечо 200%) ❗️❗️❗️Вывод получился конкретный: на короткой истории планировать надо от просадки глубже той, что видел. 📌 Два примера автора оригинальной статьи Трейдер с неизменной стратегией и четырьмя годами за плечами: T = 1000, N = 250, выходит 1001/1251 = 0,80 (шанс увидеть новую просадку а след. год = 20%) Трейдер, который каждый год меняет систему: T = 250, N = 250, выходит 251/501 = 0,50. Ровно монетка. Второй случай стоит перечитать. Человек честно посчитал просадку и честно её опубликовал - а число не значит ничего. Не потому, что он ошибся, а потому, что за ним нет наблюдений: он сам себе каждый год обнуляет T. ⚡️ Проверка, которую я не заказывал Я посчитал эти числа вечером. Для индексной системы вышло 0,921 - примерно один шанс из тринадцати, что рекорд будет пробит в течение года. Через два часа, разбирая свежую выгрузку, я обнаружил, что он уже пробит. Прежний максимум был снят 6 июля, новый - 28-го. Событие с вероятностью 8% случилось в первые 3% отведённого срока. Это не опровержение метода: восьмипроцентные события на то и восьмипроцентные. Скорее ответ на вопрос, зачем такая строка нужна. Без неё я бы сказал «просадка выросла, странно» - с ней «выпало то, чему была назначена вероятность». 🚩 Где это ломается в публичном доступе Откройте любую витрину автоследования: там рядом стоят «максимальная просадка» или «прогнозируемая просадка». Первые попавшиеся карточки. Одна: максимальная −37,5%, прогноз −11%. Другая: максимальная −94,7%, прогноз −56% (Либо без второго). Прогноз в разы меньше того, что уже случилось. Это не осторожная оценка будущего, а утверждение, что впредь будет заметно лучше, чем было. Из модели такое не выводится: если уровень уже пробивали, вероятность удержаться под ним считается - и она низкая. Вряд ли кто-то жульничает, но подписчик читает его как обещание. ⚠️ Ограничения Метод отвечает только на вопрос «пробьёт или нет» и молчит о том, насколько глубже будет новая яма, и он предполагает, что рынок не менялся. Смена режима биржи или др. обнуляют накопленный запас наблюдений. $MMU6 $CRU6 #новичкам #трейдинг #пульс_оцени
Card image 1
3
4